Problemi comuni
Questa sezione include problemi che è frequente incontrare.
Come regola generale, in sede d'esame rispondiamo a tutte le domande relative a problemi di questo tipo e aiutatiamo a proseguire - perché sono relative all'ambiente d'esame e non ai concetti oggetto d'esame.
Per altre domande, si può sempre contattare per email o Teams.
Setup dell'ambiente
1. Ho trovato un ambiente assembler per Mac su Github, ma ho problemi ad usarlo
Non abbiamo fatto noi quell'ambiente, non sappiamo come funziona e non offriamo supporto su come usarlo.
2. Ho trovato un ambiente basato su DOS, usato precedentemente all'esame, ma ho problemi ad usarlo
Ha probabilmente incontrato uno dei tanti motivi per cui l'ambiente basato su DOS è stato abbandonato. Questi problemi sono al più aggirabili, non risolvibili.
3. Lanciando il file assemble.code-workspace
, mi appere un messaggio del tipo Unknown distro: Ubuntu
Il file assemble.code-workspace
cerca di lanciare via WSL la distro chiamata Ubuntu
, senza alcuna specifica di versione.
Nel caso la vostra installazione sia diversa, andrà modificato il file.
Da un terminale Windows, lanciare wsl --list -v
, dovreste ottenere una stampa del tipo
PS C:\Users\raffa> wsl --list -v
NAME STATE VERSION
* Ubuntu Stopped 2
Ubuntu-22.04 Stopped 2
La parte importante è la colonna NAME
dell'immagine che vogliamo usare per l'ambiente assembler.
Modificare il file assemble.code-workspace
con un editor di testo (notepad o VS Code stesso, stando attenti ad aprirlo come file di testo e non come workspace) sostituendo tutte le occorrenze di wsl+ubuntu
con wsl+NOME-DELLA-DISTRO
.
Per esempio, se volessi utilizzare l'immagine Ubuntu-22.04
, sostituirei con wsl+Ubuntu-22.04
.
4. Sto utilizzando una sistema Linux desktop, come uso l'ambiente senza virtualizzazione?
Il file assemble.code-workspace
fa tre cose
- Aprire VS Code nella macchina virtuale WSL
- Aprire la cartella
assembler
in tale ambiente - Impostare
pwsh
come terminale default
È possibile fare manualmente gli step 2 e 3, o modificare assemble.code-workspace
per non fare lo step 1.
Per seguire questa seconda opzione, eliminare la riga con "remoteAuthority":
,
e modificare il percorso dopo "uri":
perché sia semplicemente un percorso sul proprio disco, per esempio "uri": "/home/raff/reti_logiche/assembler"
.
Uso dell'ambiente
5. Se premo Run su VS Code non viene lanciato il programma
Non è così che si usa l'ambiente di questo corso.
Si deve usare un terminale, assemblare con ./assemble.ps1 programma.s
e lanciare con ./programma
.
6. Provando a lanciare ./assemble.ps1 programma.s
ricevo un errore del tipo ./assemble.ps1: line 1: syntax error near unexpected token
State usando la shell da terminale sbagliata, bash
invece che pwsh
. Aprire un terminale Powershell da VS Code o utilizzare il comando pwsh
.
7. Provando ad assemblare ricevo un warning del tipo warning: creating DT_TEXTREL in a PIE
Sostituire il file assemble.ps1
con quello contenuto nel pacchetto più recente tra i file del corso.
Oppure modificare manualmente il file, alla riga 29, da
gcc -m32 -o ...
a
gcc -m32 -no-pie -o ...
Riprovare quindi a riassemblare. Se il warning non sparisce, scrivermi. Allegando il sorgente.
8. Ho modificato il codice per correggere un errore, ma quando assemblo e eseguo il codice, continuo a vedere lo stesso errore.
Controllare di aver salvato il file. In alto, nella barra delle tab, VS Code mostra un pallino pieno, al posto della X per chiedere la tab, per i file modificati e non salvati.